package com.wywah.yunduo.orm.bean;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * <p>
 * 
 * </p>
 *
 * @author wywah
 * @since 2024-11-10
 */
@TableName("sys_client")
public class Client implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 客户端ID
     */
    private String clientId;

    /**
     * 客户端秘钥
     */
    private String clientSecret;

    /**
     * 客户端名称
     */
    private String clientName;

    /**
     * 授权类型
     */
    private String grantType;

    /**
     * 授权范围
     */
    private String scope;

    /**
     * 回调地址
     */
    private String redirectUri;

    /**
     * 访问令牌有效期（秒）
     */
    private Integer accessTokenValidity;

    /**
     * 刷新访问令牌有效期（秒）
     */
    private Integer refreshTokenValidity;

    /**
     * 客户端状态 0 无效 1 有效
     */
    private String state;

    /**
     * 客户端有效期止
     */
    private LocalDate yxqz;

    /**
     * 创建者
     */
    private String creator;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 修改人
     */
    private String mender;

    /**
     * 修改时间
     */
    private LocalDateTime updateTime;

    /**
     * 加密方式
     */
    private String encrypt;

    /**
     * 客户端认证方法
     */
    private String methods;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getClientId() {
        return clientId;
    }

    public void setClientId(String clientId) {
        this.clientId = clientId;
    }

    public String getClientSecret() {
        return clientSecret;
    }

    public void setClientSecret(String clientSecret) {
        this.clientSecret = clientSecret;
    }

    public String getClientName() {
        return clientName;
    }

    public void setClientName(String clientName) {
        this.clientName = clientName;
    }

    public String getGrantType() {
        return grantType;
    }

    public void setGrantType(String grantType) {
        this.grantType = grantType;
    }

    public String getScope() {
        return scope;
    }

    public void setScope(String scope) {
        this.scope = scope;
    }

    public String getRedirectUri() {
        return redirectUri;
    }

    public void setRedirectUri(String redirectUri) {
        this.redirectUri = redirectUri;
    }

    public Integer getAccessTokenValidity() {
        return accessTokenValidity;
    }

    public void setAccessTokenValidity(Integer accessTokenValidity) {
        this.accessTokenValidity = accessTokenValidity;
    }

    public Integer getRefreshTokenValidity() {
        return refreshTokenValidity;
    }

    public void setRefreshTokenValidity(Integer refreshTokenValidity) {
        this.refreshTokenValidity = refreshTokenValidity;
    }

    public String getState() {
        return state;
    }

    public void setState(String state) {
        this.state = state;
    }

    public LocalDate getYxqz() {
        return yxqz;
    }

    public void setYxqz(LocalDate yxqz) {
        this.yxqz = yxqz;
    }

    public String getCreator() {
        return creator;
    }

    public void setCreator(String creator) {
        this.creator = creator;
    }

    public LocalDateTime getCreateTime() {
        return createTime;
    }

    public void setCreateTime(LocalDateTime createTime) {
        this.createTime = createTime;
    }

    public String getMender() {
        return mender;
    }

    public void setMender(String mender) {
        this.mender = mender;
    }

    public LocalDateTime getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(LocalDateTime updateTime) {
        this.updateTime = updateTime;
    }

    public String getEncrypt() {
        return encrypt;
    }

    public void setEncrypt(String encrypt) {
        this.encrypt = encrypt;
    }

    public String getMethods() {
        return methods;
    }

    public void setMethods(String methods) {
        this.methods = methods;
    }

    @Override
    public String toString() {
        return "Client{" +
            "id = " + id +
            ", clientId = " + clientId +
            ", clientSecret = " + clientSecret +
            ", clientName = " + clientName +
            ", grantType = " + grantType +
            ", scope = " + scope +
            ", redirectUri = " + redirectUri +
            ", accessTokenValidity = " + accessTokenValidity +
            ", refreshTokenValidity = " + refreshTokenValidity +
            ", state = " + state +
            ", yxqz = " + yxqz +
            ", creator = " + creator +
            ", createTime = " + createTime +
            ", mender = " + mender +
            ", updateTime = " + updateTime +
            ", encrypt = " + encrypt +
            ", methods = " + methods +
        "}";
    }
}
